package com.yuexunxinxi.carefree.dao;

import com.yuexunxinxi.carefree.entity.AUser;
import com.yuexunxinxi.carefree.entity.vo.AUserVo;
import org.apache.ibatis.annotations.Param;

/**
 * 作者: 李咨辰
 * 文件名: AUserMapper.java
 * 路径: com.yuexunxinxi.carefree.dao
 * 时间: 2024-10-05 11:24
 * 版本: 1.0
 * 描述: TODO 用户
 **/
public interface AUserMapper {
    /**
     * 根据手机号密码登录
     *
     * @param phone    手机号
     * @param password 密码
     * @return 登录用户
     */
    AUserVo getUserByPhoneAndPassword(@Param("phone") String phone, @Param("password") String password);

    /**
     * 更改登录状态
     *
     * @param id     用户编号
     * @param secret 授权码
     * @param ip ip地址
     * @return 成功返回1
     */
    int setSecret(@Param("id") Long id, @Param("secret") String secret, @Param("ip") String ip);

    /**
     * 登录状态验证
     *
     * @param id     用户编号
     * @param secret 授权码
     * @return 登录对象
     */
    AUserVo getUserByIpAndSecret(@Param("id") String id, @Param("secret") String secret);

    /**
     * 判断手机号是否被注册
     *
     * @param user 手机号
     * @return 注册不为空
     */
    AUserVo getUserByPhone(String user);

    /**
     * 添加用户
     *
     * @param aUser 用户对象
     * @return 成功大于0
     */
    int addUser(AUser aUser);

    /**
     * 修改用户
     *
     * @param aUser 用户类
     * @return 成功大于0
     */
    int editUser(AUser aUser);
    /**
     * 根据id获取头像
     * @param id 根据id获取头像
     * @return 头像
     */
    String getAvatarById(Long id);

    /**
     * 根据账号查询用户
     * @param account 账号
     * @return 用户
     */
    AUser getUserByAccound(String account);
}
